Copyright © 2021 ARC, All rights reserved

1. Yield Curve Building using Forward Rate Agreements

We're going to construct in detail a zero-coupon yield curve, called zero curve as well, with FRAs(Forward Rate Agreements)by using bootstrapping method.

3. Bootstrapping of spot rates

The input market data are FRAs rates. Let's list the main FRAs characteristics that will impact our computation of the maturity dates and the related zero rates.

The FRAs have the following characteristics which are implemented by default by our API:

Calendar: parameter specifying the calendar used to determine holidays and business days. In the EUR market the standard TARGET calendar is used (Trans-european Automated Real-time Gross settlement Express Transfer).

The zero rates will be get from the following formula expressing the relationship between the forward rate and the zeros rates in the case of a Simple compounding:

\begin{equation}r_{1,2} = \frac{1}{t_2 - t_1}\left(\frac{1+r_2*\left(t_2-t\right)}{1+r_1*\left(t_1-t\right)} - 1\right) \end{equation}

where:

$r_{1,2}$: the forward rate at the future date $t_1$ with maturity $t_2$ (of course $t_2 > t_1$)

$t_2 - t_1$: the year fraction from the date $t_1$ to $t_2$ with day counter Actual/360

$r_1$: the zero rate at date $t$ with the maturity $t_1$ ($t_2 > t$)

$r_2$: the zero rate at date $t$ with the maturity $t_2$ ($t_2 > t_1 > t$)

$t_1$: the year fraction from the date $t_1$ to $t$ with day counter Actual/360

$t_2$: the year fraction from the date $t_2$ to $t$ with day counter Actual/360

Let's note that all our computations on float numbers will be done with 6 decimal points precision.

3.1. Zero-coupon calculation for the 4 months maturity

From the equation (1), we easily deduce that the zero rate with the 4 months maturity will be \begin{equation}r_2 = \frac{\left(1 + r_{1,2}*(t_2 - t_1)\right)*\left(1+r_1*\left(t_1-t\right)\right) - 1}{(t_2-t)} \end{equation}

where in our case: $t$: the settlement date which we are going to compute

$t_1$: the settlement date plus 1M and shifted eventually to a business day

$t_4$: the settlement date plus 4M and shifted eventually to a business day

$r_{1,2}$: the forward rate at the future date $t_1$ with maturity $t_2$

$r_1$: the zero rate at settlement date with maturity 1M

$r_2$: the zero rate at settlement date with maturity 4m which we will compute

First of all, we are going to compute the settlement date. As we mentioned above the trade date is

As we explained in the paragraph 3 the settlement day of a FRA is 2, so the settlement date is obtained by adding 2 days to the above trade date:

Because the weekday is Saturday and the business date convention for the FRA is by default ModifiedFollowing, so by applying the TARGER calendar, the settlement date is

Finally, the related maturity dates for 1M and 4M are obtained by adding 1M adn 4M to the above settlement date:

Let's note that the above both dates are business days, so we don't need to adjust them. Right now, we are going to compute the accrual times with Actual/360 convention.

For the accrual time $t_1 - t = maturity\_date\_1m - settlement\_date$ from May 10th 2021 and ending at June 10th 2021; it last 31 days, so the accrual time will be 31/360

For the accrual time $t_2 - t = maturity\_date\_4m - settlement\_date$ from May 10th 2021 and ending at Sep 10th 2021; it last 123 days, so the accrual time will be 123/360

For the accrual time $t_2 - t_1 = maturity\_date\_4m - maturity\_date\_1m$ from Jun 10th 2021 and ending at Sep 10th 2021; it last 92 days, so the accrual time will be 92/360

The specified forward rate $r_{1,2}$ is 0.030. Because the zero rate with maturity 1M is not provided, the API will suppose that all the zer o rates are constant from the settlement date until the maturity 4M and equal to 0.030.

So by replacing in the equation (2) all the variables by their above computed value, we get

3.2. Zero-coupon calculation for the 5 months maturity

In order to compute this zero rate, we will use the formula (1) as well. To do so, we will use the second FRA which is 3-month contract starts in 2M from the settlement date. First of all we should compute the value for each variable of the formula.

As in the previous paragraph, the maturity dates for 2M and 5M are obtained by adding 2M adn 5M to the above settlement date and will be

Let's note that the above both dates are weekend days, so we should shift them to business days and will be.

Right now, we are going to compute the different accrual times with Actual/360 convention.

For the accrual time $t_1 - t = maturity\_date\_2m - settlement\_date$ from May 10th 2021 and ending at Jul 12th 2021; it last 63 days, so the accrual time will be 63/360

For the accrual time $t_2 - t = maturity\_date\_5m - settlement\_date$ from May 10th 2021 and ending at Oct 12th 2021; it last 154 days, so the accrual time will be 154/360

For the accrual time $t_2 - t_1 = maturity\_date\_5m - maturity\_date\_2m$ from Jul 12th 2021 and ending at Oct 12th 2021; it last 91 days, so the accrual time will be 91/360

The specified forward rate $r_{1,2}$ is 0.031 and the zero rate (2M) is 0.030 as explained in the paragraoh 3.1.

So by replacing in the equation (2) all the variables by their above computed value, we get

3.3. Zero-coupon calculation for the 6 months maturity

In order to compute this zero rate, we will use the formula (1) as well. To do so, we will use the third FRA which is 3-month contract starts in 3M from the settlement date. First of all we should compute the value for each variable of the formula.

As in the previous paragraph, the maturity dates for 3M and 6M are obtained by adding 3M adn 6M to the above settlement date and will be

Let's note that the above both dates are business days, so we don't need to adjust them. Right now, we are going to compute the accrual times with Actual/360 convention.

For the accrual time $t_1 - t = maturity\_date\_3m - settlement\_date$ from May 10th 2021 and ending at Aug 10th 2021; it last 92 days, so the accrual time will be 92/360

For the accrual time $t_2 - t = maturity\_date\_6m - settlement\_date$ from May 10th 2021 and ending at Nov 10th 2021; it last 184 days, so the accrual time will be 184/360

For the accrual time $t_2 - t_1 = maturity\_date\_6m - maturity\_date\_3m$ from Aug 10th 2021 and ending at Nov 10th 2021; it last 92 days, so the accrual time will be 92/360

The specified forward rate $r_{1,2}$ is 0.032 and the zero rate (3M) is 0.030 as explained in the paragraoh 3.1.

So by replacing in the equation (2) all the variables by their above computed value, we get

3.4. Zero-coupon calculation for the 9 months maturity

In order to compute this zero rate, we will use the formula (1) as well. To do so, we will use the fourth FRA which is 3-month contract starts in 6M from the settlement date. First of all we should compute the value for each variable of the formula.

As in the previous paragraph, the maturity dates for 6M and 9M are obtained by adding 6M adn 9M to the above settlement date and will be

Let's note that the above both dates are business days, so we don't need to adjust them. Right now, we are going to compute the accrual times with Actual/360 convention.

For the accrual time $t_1 - t = maturity\_date\_6m - settlement\_date$ from May 10th 2021 and ending at Nov 10th 2021; it last 184 days, so the accrual time will be 184/360

For the accrual time $t_2 - t = maturity\_date\_9m - settlement\_date$ from May 10th 2021 and ending at Feb 10th 2022; it last 276 days, so the accrual time will be 276/360

For the accrual time $t_2 - t_1 = maturity\_date\_9m - maturity\_date\_6m$ from Nov 10th 2021 and ending at Feb 10th 2022; it last 92 days, so the accrual time will be 92/360

The specified forward rate $r_{1,2}$ is 0.033 and the zero rate (6M) is computed in the paragraph 3.3 and its value is 0.031123

So by replacing in the equation (2) all the variables by their above computed value, we get

3.5. Zero-coupon calculation for the 12 months maturity

In order to compute this zero rate, we will use the formula (1) as well. To do so, we will use the fifth abd last FRA which is 3-month contract starts in 9M from the settlement date. First of all we should compute the value for each variable of the formula.

By using exactly the same reasoning as in the previous paragraph 3.5, we will easily compute the following zero rate value:

4. Wrap up

let's sum up in the following table the computed zero-coupons by maturity with Actual/360 day count convention and Simple compounding.

Right now, we are computing the equivalent zero rates in Continuous compounding by applying the well known formula allowing to convert continuous rate to simple rate and vice versa:

\begin{equation} r\_continuous = \frac{ln(1 + r\_simple*year\_fraction)}{year\_fraction}\end{equation}

where:

$year\_fraction$: the year fraction between the rate date and its maturity expressed in the specified day count convention (in our case, Actual/360)

So, by applying this fomrula we will get

Here is the final table

5. The zero curve constructed